Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify raft component CMake logic, and allow compilation without FAISS #428

Merged

Conversation

robertmaynard
Copy link
Contributor

The previous logic didn't allow for developers to build raft without FAISS as raft_nn was always required to be built.

@robertmaynard robertmaynard requested a review from a team as a code owner January 19, 2022 22:50
Copy link
Member

@ajschmidt8 ajschmidt8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving ops-codeowner file changes

@github-actions github-actions bot removed the python label Jan 20, 2022
@@ -100,96 +105,141 @@ endif()
# add third party dependencies using CPM
rapids_cpm_init()

# thrust and libcudacxx need to be before cuco!
include(cmake/thirdparty/get_thrust.cmake)
# cuco before rmm to properly configure thrust/cub
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cjnolet We should restore the call to include(cmake/thirdparty/get_thrust.cmake) as the first line before cuco or rmm.

If we have cuco as the first entry it will bring in thrust 1.12 which we don't want. By having our thrust first that will fetch 1.15 and will stop cuco from fetching 1.12

Copy link
Member

@cjnolet cjnolet Jan 21, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robertmaynard, I need some help here then.

Without this change, I get a thrust cmake error when building cuml (locally) about the incorrect cub verison being picked up (1.12). With this change, cuml builds (locally) successfully and I believe it's pulling in thrust 1.15 because I would have expected to get a cub build error in HDBSCAN if it were not.

Copy link
Member

@cjnolet cjnolet Jan 21, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@trxcllnt also opened a PR to cuco to update the thrust version to 1.15, which we're using in this PR: NVIDIA/cuCollections#134. I notice RMM doesn't seem to specify a thrust version: https://github.com/rapidsai/rmm/blob/branch-22.04/cmake/thirdparty/get_thrust.cmake. Is that getting set automatically by rapids cpm somehow?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes for rmm it uses the version specified by versions.json in rapids-cmake

@@ -0,0 +1,9 @@
{
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not seeing a package_override load of this file, so it will do nothing.

@cjnolet
Copy link
Member

cjnolet commented Jan 23, 2022

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 99b6dd3 into rapidsai:branch-22.02 Jan 23, 2022
@robertmaynard robertmaynard deleted the refactor_cmake_raft_target_logic branch January 23, 2022 14:05
@robertmaynard robertmaynard restored the refactor_cmake_raft_target_logic branch January 24, 2022 14:21
@robertmaynard robertmaynard deleted the refactor_cmake_raft_target_logic branch April 25, 2022 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Breaking change CMake cpp improvement Improvement / enhancement to an existing function
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants